package cn.cxy.demo

import android.graphics.Color
import android.graphics.LinearGradient
import android.graphics.Shader
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
//        setGradient2(gradientTv)
    }

    /**
     * 设置渐变色
     */
    private fun setGradient(textView: TextView) {
        val endX = textView.paint.textSize * textView.text.length
        val linearGradient = LinearGradient(
            0f, 0f, endX, 0f,
            Color.parseColor("#FFFF68FF"),
            Color.parseColor("#FFFED732"),
            Shader.TileMode.CLAMP
        )
        textView.paint.shader = linearGradient
        textView.invalidate()
    }

    /**
     * 设置渐变色
     */
    private fun setGradient2(textView: TextView) {
        val endX = textView.paint.textSize * textView.text.length
        val colors = intArrayOf(
            Color.RED,
            Color.GREEN,
            Color.BLUE
        ) //颜色的数组
        val position = floatArrayOf(0f, 0.7f, 1.0f) //颜色渐变位置的数组
        val linearGradient =
            LinearGradient(0f, 0f, endX, 0f, colors, position, Shader.TileMode.CLAMP)
        textView.paint.shader = linearGradient
        textView.invalidate()
    }
}
